#include <stdio.h>
#include <signal.h>
#include <unistd.h>

void handler()
{}

int mysleep(int s)
{
	unsigned int ret;
	sigset_t mask,omask;
	//捕捉闹钟信号
	struct sigaction act,oact;
	act.sa_flags=0;
	act.sa_handler=handler;
	sigemptyset(&act.sa_mask);
	sigaction(SIGALRM,&act,&oact);

	//屏蔽闹钟信号
	sigemptyset(&mask);
	sigaddset(&mask,SIGALRM);
	sigprocmask(SIG_SETMASK,&mask,&omask);

	alarm(s);
	sigprocmask(SIG_SETMASK,&omask,&mask);
	pause();
	
	ret=alarm(0);
	sigaction(SIGALRM,&oact,NULL);

	return ret;//返回值为零表示成功
}

int main()
{
	while(1){
		printf("hello world\n");
		mysleep(1);
	}
}







